package com.richman.controller;

import java.awt.Color;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Map;
import java.util.Vector;

import com.richman.ps38.entity.BetAdyData;
import com.richman.ps38.entity.ISNHGSendData;
import com.richman.ps38.entity.SendData;
import com.richman.utils.Common;
import com.richman.utils.SoundThread;

public class AutoBetCentralManager {

	
	private SendData betgame;
	private String bettype = "";
	private String updown = "";
	
	private ISNHGSendData isnbetgame;
	
	public static  Vector<String> limistGames = new Vector<String>();
	
	public void dobetgame(String bettypearg, String updownarg, SendData betgamearg) {
		try {
			
			bettype = bettypearg;
			updown = updownarg;
			betgame = betgamearg;
			String ps38Teamlbstr = "";
			String ps38typedetail = "";
			String ps38betid = "";
			String isnTeamlbstr = "";
			String isnbetpankou = "";
			String ps38betpankou = "";
			String gidstr = "";
			boolean betISN = false;
			boolean betPS38 = false;
			
			if(bettype.contains("半场")) {
				ps38betid = betgame.event.halfBetID;
			}else {
				ps38betid = betgame.event.wholeDXPBetID;
			}
			
			ps38Teamlbstr = "大@";
			ps38typedetail = "大";
			
			isnTeamlbstr = "大@";

			//投注盘口以PS38一盘为准
			if(bettype.contains("全场")) {
				ps38betpankou = betgame.isnps38event.wholeDXPPankou;
				isnbetpankou = betgame.isnps38event.wholeDXPPankou;
			}else {
				ps38betpankou = betgame.isnps38event.halfDXPPankou;
				isnbetpankou = betgame.isnps38event.halfDXPPankou;
			}
			
			if(betgame.isnps38event.duringTime.equals("")) {
				bettype = "单式" + bettype;
			}else {
				bettype = "滚球" + bettype;
			}

			int betAmout = DecreaseRatioClient.mainWnd.gethgPS38DXBetAmount();
			int betAdyGold = 0;
			if(bettype.contains("全场")) {
				betAdyGold = DecreaseRatioClient.betCtrMng.checkWholeBetGold(betgame);
				if(betAmout<=DecreaseRatioClient.betCtrMng.checkWholeBetGold(betgame)) {
					
        			String leaguename = betgame.isnps38event.leagueName;
        			String teams = betgame.isnps38event.homeTeam + "-vs-" + betgame.isnps38event.awayTeam;
        			String time = betgame.isnps38event.eventTime;
        			String pankou = betgame.isnps38event.wholeDXPPankou;
        			String score = betgame.isnps38event.homeTeamScore + ":" + betgame.isnps38event.awayTeamScore;
        			String betstr = leaguename + teams + time + pankou + score +  "全场";
        			DecreaseRatioClient.betThread.removeBetVec(betstr);
					return;
				}
			}else if(bettype.contains("半场")) {
				betAdyGold = DecreaseRatioClient.betCtrMng.checkHalfBetGold(betgame);
				if(betAmout<=DecreaseRatioClient.betCtrMng.checkHalfBetGold(betgame)) {
        			String leaguename = betgame.isnps38event.leagueName;
        			String teams = betgame.isnps38event.homeTeam + "-vs-" + betgame.isnps38event.awayTeam;
        			String time = betgame.isnps38event.eventTime;
        			String pankou = betgame.isnps38event.halfDXPPankou;
        			String score = betgame.isnps38event.homeTeamScore + ":" + betgame.isnps38event.awayTeamScore;
        			String betstr = leaguename + teams + time + pankou + score +  "半场";
        			DecreaseRatioClient.betThread.removeBetVec(betstr);
					return;
				}
			}

			
			int betGold = betAmout - betAdyGold;

			Map<String, String> isnoddUpdres = DecreaseRatioClient.betCtrMng.updateISNRatio(betgame.isnevent.homeTeam,betgame.isnevent.awayTeam,"1",bettype,Double.parseDouble(isnbetpankou));
			Map<String, String> ps38oddUpdres = DecreaseRatioClient.betCtrMng.updatePS38Ratio(ps38betid, Long.toString(betgame.event.eventId), bettype, ps38typedetail, ps38betpankou);

			if(isnoddUpdres == null && ps38oddUpdres == null) {
				Common.logOut("AutoBetCentralManager dobetgame 更新赔率失败");
				return;
			}
			
			Double ps38ratio = 0.0;
			if(ps38oddUpdres!=null) {
				ps38ratio = Double.parseDouble(ps38oddUpdres.get("ratio"));
			}
			Double isnratio = 0.0;
			if(isnoddUpdres!=null) {
				isnratio = Double.parseDouble(isnoddUpdres.get("ratio"));
			}
			
			
			double ps38ratio1 = ps38ratio;
			if(ps38ratio< 0) {
				ps38ratio1 = 2.0 + ps38ratio1;
			}
			double isnratio1 = isnratio;
			if(isnratio<0) {
				isnratio1 = 2.0 + isnratio;
			}
			
			double betodd = DecreaseRatioClient.mainWnd.getbetodd();
			
			if(isnratio1<betodd&&ps38ratio1<betodd) {
				Common.logOut(betgame.isnevent.homeTeam + "-vs-" + betgame.isnevent.awayTeam +"isn ps38赔率都不符合条件");
				return;
			}
			
			if(isnratio1>ps38ratio1) {
				betISN = true;
			}else {
				betPS38 = true;
			}
			

			
			Double ps38pankou = Double.parseDouble(ps38oddUpdres.get("pankou"));
			
//			
//			if(Math.abs(ps38pankou - Double.parseDouble(isnbetpankou)) > 0.01) {
//				Common.logOut("ps38和ISN盘口对不上 ps38:"+ Double.toString(ps38pankou) + "  isn:" + isnbetpankou);
//				return;
//			}

			//找到第一个投注的盘口
//			double firstbetpankou = 0.0;
//			if(bettype.contains("全场")) {
//				firstbetpankou = SpecialServer.betCtrMng.findFirstWholeDXQPankou(betgame);
//			}else {
//				firstbetpankou = SpecialServer.betCtrMng.findFirstHalfDXQPankou(betgame);
//			}
//			if(Math.abs(firstbetpankou-ps38pankou)>0.1&&firstbetpankou!=0.0) {
//				Common.logOut(betgame.isnps38event.homeTeam + "-vs-" + betgame.isnps38event.awayTeam +"  盘口已变化");
//				return;
//			}


			double ps38betgold = 0.0;

			BetAdyData bad = new BetAdyData();
			
			SimpleDateFormat dfSec = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

			if(Math.abs(ps38pankou - Double.parseDouble(isnbetpankou)) > 0.01) {
				Common.logOut("ps38和ISN盘口对不上 hg:"+ Double.toString(ps38pankou) + "  isn:" + isnbetpankou);
				return;
			}




			
			//sleep
			
			int refreshdelaybettime = DecreaseRatioClient.mainWnd.getrefreshdelaybettime();
			
			if(refreshdelaybettime > 0 ) {
				Thread.sleep(refreshdelaybettime * 1000);
			}

			
			if(betPS38==true) {
				
				int ps38minbetgold = (int)Double.parseDouble(ps38oddUpdres.get("minbet"));
				int ps38maxbetgold = (int)Double.parseDouble(ps38oddUpdres.get("maxbet"));
				
				if(betGold>ps38maxbetgold) {
					betGold = ps38maxbetgold;
				}
				
				if(betGold<ps38minbetgold) {
					betGold = ps38minbetgold +1;
				}
				
				ps38betgold = betGold;
				
				bad.hgps38 = updownarg;
				
				bad.currenttime = dfSec.format(System.currentTimeMillis());
				
				bad.league = betgame.isnps38event.leagueName;
				bad.teams = betgame.isnps38event.homeTeam + "-vs-" + betgame.isnps38event.awayTeam;
				bad.time = betgame.isnps38event.eventTime;
				
				
				bad.score = betgame.isnps38event.homeTeamScore + ":" + betgame.isnps38event.awayTeamScore;
				
				//bad.hgeventid = betgame.isnevent.eventId;
				

				
				bad.bettype = bettype;
				
				//bad.hgbettype = hgTeamlbStr.replace("皇冠:", "") + oddUpdres.get("ioratio");
				bad.betpankou = ps38betpankou;
				bad.hgbettime = Long.toString(System.currentTimeMillis());
				
				bad.hgbetres = "";
				
				bad.ticketid = "";
				bad.gid = gidstr;
				bad.hgbetgold = Integer.toString(100);

				bad.mergeratio = String.format("%.3f",  ps38ratio1);
				
				bad.ps38eventid = Long.toString(betgame.event.eventId);
				
				
				bad.wagerId = "";
				bad.ps38betres = "";
				//bad.ps38bettime = dfSec.format(System.currentTimeMillis());
				bad.ps38bettype = ps38Teamlbstr + ps38oddUpdres.get("ratio");
				bad.ps38betgold = Double.toString(ps38betgold);
				
				bad.ps38rebetflag = "0";
				
				bad.websitetype = "PS38";
				
				Map<String, String> rval = DecreaseRatioClient.betCtrMng.ps38dobet(ps38oddUpdres, (int)ps38betgold);
				

				
				bad.ps38eventid = Long.toString(betgame.event.eventId);
				
				
				if(rval.containsKey("rebet")) {
					bad.ps38rebetflag = "1";
				}else {
					bad.ps38rebetflag = "0";
				}
				
				
				if(rval.get("status").equals("1")) {

					bad.wagerId = rval.get("wagerId");
					bad.ps38betres = "1";
					//bad.ps38bettime = rval.get("bettime");
					bad.ps38bettype = ps38Teamlbstr + rval.get("ratio");
					bad.ps38betgold = Integer.toString((int)ps38betgold);
					
					double betps38ratio = Double.parseDouble(rval.get("ratio"));
					if(betps38ratio< 0) {
						betps38ratio = 2.0 + betps38ratio;
					}
					
					bad.mergeratio = String.format("%.3f", 0 + betps38ratio);

					DecreaseRatioClient.betCtrMng.updateBetAdyData(bad);
					DecreaseRatioClient.betCtrMng.updateBetLogData(bad);
					
					System.out.println("ps38投注成功");

				}else if(rval.get("status").equals("0")){
					
					bad.wagerId = rval.get("wagerId");
					bad.ps38betres = "0";
					//bad.ps38bettime = rval.get("bettime");
					bad.ps38bettype = ps38Teamlbstr + rval.get("ratio");
					bad.ps38betgold = Integer.toString((int)ps38betgold);
					
					double betps38ratio = Double.parseDouble(rval.get("ratio"));
					if(betps38ratio< 0) {
						betps38ratio = 2.0 + betps38ratio;
					}
					
					bad.mergeratio = String.format("%.3f", 0 + betps38ratio);
					System.out.println("ps38投注待确认");
					DecreaseRatioClient.betCtrMng.updateBetAdyData(bad);
					DecreaseRatioClient.betCtrMng.updateBetLogData(bad);
				
					
				}else {
					DecreaseRatioClient.betCtrMng.updateBetLogData(bad);
					System.out.println("ps38投注失败");
				}
				
			}
			
			

			if(betISN==true) {
				
				
				int isnmaxbetgold = Integer.parseInt(isnoddUpdres.get("maxbet"));
				int isnminbetgold = Integer.parseInt(isnoddUpdres.get("minbet"));
				double isnbetgold =  Double.parseDouble(isnoddUpdres.get("minbet"))+1.0;
				if(betGold>isnmaxbetgold) {
					betGold = isnmaxbetgold;
				}
				if(betGold<isnminbetgold) {
					betGold = isnminbetgold + 1;
				}
				isnbetgold = betGold;
				bad.hgps38 = updownarg;
				
				bad.currenttime = dfSec.format(System.currentTimeMillis());
				
				bad.league = betgame.isnps38event.leagueName;
				bad.teams = betgame.isnps38event.homeTeam + "-vs-" + betgame.isnps38event.awayTeam;
				bad.time = betgame.isnps38event.eventTime;
				
				
				bad.score = betgame.isnps38event.homeTeamScore + ":" + betgame.isnps38event.awayTeamScore;
				
				//bad.hgeventid = betgame.isnevent.eventId;
				

				
				bad.bettype = bettype;
				
				//bad.hgbettype = hgTeamlbStr.replace("皇冠:", "") + oddUpdres.get("ioratio");
				bad.betpankou = ps38betpankou;
				bad.hgbettime = Long.toString(System.currentTimeMillis());
				
				bad.hgbetres = "";
				
				bad.ticketid = "";
				bad.gid = gidstr;
				bad.hgbetgold = Integer.toString(100);
				

				

				
				
				bad.mergeratio = String.format("%.3f",  ps38ratio1);
				
				bad.ps38eventid = Long.toString(betgame.event.eventId);
				
				
				bad.wagerId = "";
				bad.ps38betres = "";
				//bad.ps38bettime = dfSec.format(System.currentTimeMillis());
				bad.ps38bettype = ps38Teamlbstr + ps38oddUpdres.get("ratio");
				bad.ps38betgold = Double.toString(ps38betgold);
				
				bad.ps38rebetflag = "0";
				
				bad.websitetype = "ISN";
				
				
				
				
				Map<String, String> rvalisn = DecreaseRatioClient.betCtrMng.isndobet(betgame.isnevent.homeTeam,
																			betgame.isnevent.awayTeam,
																			"1",bettype,
																			(int)isnbetgold, Double.parseDouble(isnbetpankou),0.0);
				
				bad.ps38eventid =  isnoddUpdres.get("marketSelectionId");
				
				if(rvalisn.containsKey("rebet")) {
					bad.ps38rebetflag = "1";
				}else {
					bad.ps38rebetflag = "0";
				}
				
				
				if(rvalisn.get("status").equals("1")) {

					bad.wagerId = rvalisn.get("wagerId");
					bad.ps38betres = "1";
					//bad.ps38bettime = rvalisn.get("bettime");
					bad.ps38bettype = isnTeamlbstr + rvalisn.get("ratio");
					bad.ps38betgold = rvalisn.get("stake");
					
					double betps38ratio = Double.parseDouble(rvalisn.get("ratio"));
					if(betps38ratio< 0) {
						betps38ratio = 2.0 + betps38ratio;
					}
					
					bad.mergeratio = String.format("%.3f", 0.0 + betps38ratio);
					
					
					DecreaseRatioClient.betCtrMng.updateBetAdyData(bad);
					DecreaseRatioClient.betCtrMng.updateBetLogData(bad);
					
					System.out.println("isn投注成功");
					
					
				}else if(rvalisn.get("status").equals("0")){
					
					bad.wagerId = rvalisn.get("wagerId");
					bad.ps38betres = "0";
					//bad.ps38bettime = rvalisn.get("bettime");
					bad.ps38bettype = isnTeamlbstr + rvalisn.get("ratio");
					bad.ps38betgold = Integer.toString((int)isnbetgold);
					
					double betps38ratio = Double.parseDouble(rvalisn.get("ratio"));
					if(betps38ratio< 0) {
						betps38ratio = 2.0 + betps38ratio;
					}					
					bad.mergeratio = String.format("%.3f", 0.0 + betps38ratio);
					DecreaseRatioClient.betCtrMng.updateBetAdyData(bad);
					DecreaseRatioClient.betCtrMng.updateBetLogData(bad);					
					System.out.println("isn投注待确认");

				}else {

					DecreaseRatioClient.betCtrMng.updateBetLogData(bad);
					System.out.println("isn投注失败");
					
				}
			}
			
			
			


		}catch(Exception e) {
			
			e.printStackTrace();
			
		}
	}
	
	
	public void doisnbetgameisn(String bettypearg, String updownarg, ISNHGSendData isnbetgamearg) {
//		try {
//			
//			
//			bettype = bettypearg;
//			updown = updownarg;  //2 isn投大
//
//			isnbetgame = isnbetgamearg;
//			
//			
//			String hgTeamlbStr = "";
//			String isnTeamlbstr = "";
//			
//			
//			String isntypedetail = "";
//			
//			String ps38betid = "";
//			
//			String wtypestr = "";
//			
//			String typestr = "";
//			
//			String gnumstr = "";
//			
//			String strongstr = "";
//			
//			String isnbetpankou = "";
//			
//			String gidstr = "";
//			
//			
//			if(bettype.contains("半场")) {
//				wtypestr = "H";	
//				
//				gidstr = isnbetgame.hgevent.hgid;
//				
//				//ps38betid = isnbetgame.event.halfBetID;
//				
//			}else {
//				
//				gidstr = isnbetgame.hgevent.gid;
//				
////				if(bettype.contains("大小")) {
////					ps38betid = isnbetgame.event.wholeDXPBetID;
////				}else {
////					ps38betid = isnbetgame.event.wholeRQPBetID;
////				}
//				
//			}
//			
//			
//			//滚球大小
//			if(bettype.contains("滚球") && bettype.contains("大小")) {
//				wtypestr += "R";
//			}
//			
//
//			
//			if(bettype.contains("让球")) {				
//
//				
//
//				
//			}else {
//				
//				wtypestr += "OU";
//				
//				if(updown.contains("1")) {
//					hgTeamlbStr = "皇冠:" +  "大@";
//					isnTeamlbstr = "小@";
//					isntypedetail = "小";
//					
//					typestr = "C";
//					gnumstr = isnbetgame.hgevent.gnumc;
//
//				}else {
//					hgTeamlbStr = "皇冠:" + "小@";
//					isnTeamlbstr = "大@";
//					isntypedetail = "大";
//					
//					typestr = "H";
//					gnumstr = isnbetgame.hgevent.gnumh;
//				}
//				
//				
//				if(bettype.contains("全场")) {
//					isnbetpankou = isnbetgame.isnevent.wholeDXPPankou;
//				}else {
//					//isnbetpankou = isnbetgame.event.halfDXPPankou;
//				}
//				
//				
//			}
//			
//
//			//滚球让球
//			if(bettype.contains("滚球") && bettype.contains("让球")) {
//				wtypestr += "E";
//			}
//
//			
//			Map<String, String> oddUpdres = SpecialServer.betCtrMng.updateRatio(gidstr, typestr, gnumstr, strongstr, wtypestr + typestr, wtypestr);
//					
//			String isnupdown = "1";
//			if(updown.equals("1")) {
//				isnupdown = "2";
//			}
//			
//			Double hgpankou = Double.parseDouble(oddUpdres.get("pankou"));
//			
//			Map<String, String> isnoddUpdres = SpecialServer.betCtrMng.updateISNRatio(isnbetgamearg.isnevent.homeTeam,isnbetgamearg.isnevent.awayTeam,isnupdown,bettype,Double.parseDouble(isnbetpankou));
//			
//			
//			if(oddUpdres == null || isnoddUpdres == null) {
//				Common.logOut("AutoBetCentralManager doisnbetgame 更新赔率失败");
//				return;
//			}
//			
//			Double hgratio = Double.parseDouble(oddUpdres.get("ioratio"));
//			Double isnratio = Double.parseDouble(isnoddUpdres.get("ratio"));
//			
//			
//			
//			//Double ps38pankou = Double.parseDouble(isnoddUpdres.get("pankou"));
//			
//			
//			if(Math.abs(hgpankou - Double.parseDouble(isnbetpankou)) > 0.01) {
//				Common.logOut("hg和ISN盘口对不上 hg:"+ Double.toString(hgpankou) + "  isn:" + isnbetpankou);
//				return;
//			}
//			
//			
//			
//			
//			int hgmaxbetgold = Integer.parseInt(oddUpdres.get("maxbet").replace(",", ""));
//			
//			int hgsetbetgold = 100;
//			if(bettype.contains("让球")) {
//				hgsetbetgold = SpecialServer.mainWnd.gethgISNRQBetAmount();
//			}else {
//				hgsetbetgold = SpecialServer.mainWnd.gethgISNDXBetAmount();
//			}
//			
//			
//			
//			
//			double limitPercent = SpecialServer.mainWnd.getLimitPercent();
//			
//			if(limistGames.contains(isnbetgame.hgevent.eventId)) {
//				hgsetbetgold = (int) (limitPercent * hgsetbetgold);
//				hgsetbetgold = hgsetbetgold/1000*1000;
//				Common.logOut("股东限额，投注金额变为:" + hgsetbetgold);
//			}
//			
//			int hgbetgold = 0;
//
//			
//			double isnbetgold = 0.0;//DaShuiClient.mainWnd.gethgBetAmount() * DaShuiClient.mainWnd.getps38betRatio();
//			
//			double hgstartbetgold = 0;
//			if(wtypestr.contains("OU")) {
//				hgstartbetgold = SpecialServer.mainWnd.getDxStartBetGoldHg();
//			}else {
//				hgstartbetgold =  SpecialServer.mainWnd.getstartBetGoldHg();
//			}
//			
//			if(Double.parseDouble(oddUpdres.get("maxbet"))   < hgstartbetgold ){
//				Common.logOut("皇冠最大投注值小于起投标准");
//				return;
//			}
//			
//			Vector<String> negVec = new Vector<String>();
//			negVec = SpecialServer.mainWnd.getNegLeagues();
//			
//
//			
//			
//			if(bettype.contains("让球")) {
//				if(SpecialServer.mainWnd.getbISNRQBetAmount()== true) {
//					isnbetgold = SpecialServer.mainWnd.getisnRQAmount();
//					
//					if(hgsetbetgold < hgmaxbetgold) {
//						hgbetgold = hgsetbetgold;
//					}else {
//						hgbetgold = hgmaxbetgold;
//					}
//					
//					if(negVec.contains(isnbetgame.hgevent.leagueName)) {//反投联赛
//						hgbetgold = 100;
//						isnbetgold = hgsetbetgold;
//						if(isnbetgold>Double.parseDouble(isnoddUpdres.get("maxbet"))) {
//							isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));
//						}
//					}
//					
//
//				}else {
//					
///*					if(hgsetbetgold < hgmaxbetgold) {
//						hgbetgold = hgsetbetgold;
//					}else {
//						hgbetgold = hgmaxbetgold;
//					}
//					
//					
//					isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));
//					isnbetgold = (int)(isnbetgold/1000)*1000;
//					
//					hgbetgold = (int) (hgbetgold<isnbetgold?hgbetgold:isnbetgold);
//					isnbetgold = hgbetgold*0.9;*/
//					
//					if(hgsetbetgold < hgmaxbetgold) {
//						hgbetgold = hgsetbetgold;
//					}else {
//						hgbetgold = hgmaxbetgold;
//					}
//					
//					double percenttmp =  SpecialServer.mainWnd.getisnRQPercent();
//					isnbetgold = (int)(hgbetgold*percenttmp);
//					
//					if(isnbetgold > Double.parseDouble(isnoddUpdres.get("maxbet"))) {
//						isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));
//						hgbetgold = ((int)(isnbetgold/percenttmp))/1000*1000;
//					}
//					
//				}
//			}else {
//				if(SpecialServer.mainWnd.getbISNDXBetAmount()== true) {
//					isnbetgold = SpecialServer.mainWnd.getisnDXAmount();
//					
//					if(hgsetbetgold < hgmaxbetgold) {
//						hgbetgold = hgsetbetgold;
//					}else {
//						hgbetgold = hgmaxbetgold;
//					}
//					
//					if(negVec.contains(isnbetgame.hgevent.leagueName)) {//反投联赛
//						hgbetgold = 100;
//						isnbetgold = hgsetbetgold;
//						if(isnbetgold>Double.parseDouble(isnoddUpdres.get("maxbet"))) {
//							isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));
//						}
//					}
//					
//
//				}else {
//					
///*					if(hgsetbetgold < hgmaxbetgold) {
//						hgbetgold = hgsetbetgold;
//					}else {
//						hgbetgold = hgmaxbetgold;
//					}
//					
//					
//					isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));
//					isnbetgold = (int)(isnbetgold/1000)*1000;
//					
//					hgbetgold = (int) (hgbetgold<isnbetgold?hgbetgold:isnbetgold);
//					isnbetgold = hgbetgold*0.9;*/
//					
//					if(hgsetbetgold < hgmaxbetgold) {
//						hgbetgold = hgsetbetgold;
//					}else {
//						hgbetgold = hgmaxbetgold;
//					}
//					
//					double percenttmp =  SpecialServer.mainWnd.getisnDXPercent();
//					isnbetgold = (int)(hgbetgold*percenttmp);
//					
//					if(isnbetgold > Double.parseDouble(isnoddUpdres.get("maxbet"))) {
//						isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));
//						hgbetgold = ((int)(isnbetgold/percenttmp))/1000*1000;
//					}
//					
//				}
//			}
//			
//			
//
//			boolean betDown = SpecialServer.mainWnd.getBetDown();
//			if(betDown==true) {
//				hgbetgold = SpecialServer.mainWnd.getBetDownGold();
//				isnbetgold = 400;//按400投
//				if(Math.abs(hgpankou-0.0) >0.1) {
//					if(hgpankou > 0 && updown.contains("1")) {
//						isnbetgold = hgbetgold*1.125;
//						hgbetgold = 400;
//					}else if(hgpankou<0 && !updown.contains("1")) {
//						isnbetgold = hgbetgold*1.125;
//						hgbetgold = 400;
//					}
//				}else {
//					return;
//				}
//				
//				if(hgbetgold > hgmaxbetgold) {
//					hgbetgold = hgmaxbetgold;
//				}
//				
//				if(isnbetgold>Double.parseDouble(isnoddUpdres.get("maxbet"))) {
//					isnbetgold = Double.parseDouble(isnoddUpdres.get("maxbet"));											
//				}
//				
//			}
//			
//			
//
//			
//			if(isnbetgold < Double.parseDouble(isnoddUpdres.get("minbet"))) {
//				isnbetgold = Double.parseDouble(isnoddUpdres.get("minbet"));
//			}
//			
//			
//			
//			if(hgbetgold<100) {
//				hgbetgold = 100;
//			}
//			
//			
//			
//			SimpleDateFormat dfSec = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//			
//			if(oddUpdres == null || isnoddUpdres == null) {
//				
//				System.out.println(dfSec.format(System.currentTimeMillis()) + ":获取赔率失败");
//				
//				return;
//			}
//			
//			
//			String betres = "";
//
//			
//			BetAdyData bad = new BetAdyData();
//			
//			
//			
//			bad.hgps38 = updownarg;
//			
//			bad.currenttime = dfSec.format(System.currentTimeMillis());
//			
//			bad.league = isnbetgame.hgevent.leagueName;
//			bad.teams = isnbetgame.hgevent.homeTeam + "-vs-" + isnbetgame.hgevent.awayTeam;
//			bad.time = isnbetgame.hgevent.eventTime;
//			
//			
//			bad.score = isnbetgame.hgevent.homeTeamScore + ":" + isnbetgame.hgevent.awayTeamScore;
//			
//			bad.hgeventid = isnbetgame.hgevent.eventId;
//			
//			bad.bettype = bettype;
//			
//			bad.hgbettype = hgTeamlbStr.replace("皇冠:", "") + oddUpdres.get("ioratio");
//			bad.betpankou = isnbetpankou;
//			bad.hgbettime = Long.toString(System.currentTimeMillis());
//			
//			bad.hgbetres = "";
//			
//			bad.ticketid = "";
//			bad.gid = gidstr;
//			bad.hgbetgold = Integer.toString(hgbetgold);
//			bad.websitetype = "ISN";
//			
//			double hgratio1 = hgratio;
//			if(hgratio < 0) {
//				hgratio1 = 2.0 + hgratio;
//			}
//			
//			double isnratio1 = isnratio;
//			if(isnratio< 0) {
//				isnratio1 = 2.0 + isnratio1;
//			}
//			
//			
//			bad.mergeratio = String.format("%.3f", hgratio1 + isnratio1);
//			
//			bad.ps38eventid = isnoddUpdres.get("marketSelectionId");
//			
//			
//			bad.wagerId = "";
//			bad.ps38betres = "";
//			//bad.ps38bettime = dfSec.format(System.currentTimeMillis());
//			bad.ps38bettype = isnTeamlbstr + isnoddUpdres.get("ratio");
//			bad.ps38betgold = Double.toString(isnbetgold);
//			
//			bad.ps38rebetflag = "0";
//			
//			
//			//todo  对赔率进行分析，看是否还能进行投注
//			if(!isInRatioRange(hgratio, isnratio)) {
//				
//				
//				betres  = "赔率不符条件";
//				
//				bad.hgbetres = betres;
//				bad.ps38betres = betres;
//				
//				//发出声音
//	    		if(SoundThread.inPlay == false){
//					SoundThread st = new SoundThread();
//					SoundThread.status = 1;
//					st.start();
//				}
//				
//				SpecialServer.betCtrMng.updateBetLogData(bad);
//				
//				return;
//			}
//
//			//int hgminbetgold = Integer.parseInt(oddUpdres.get("minbet"));
//			int hgminbetgold = Integer.parseInt(oddUpdres.get("minbet").replace(",", ""));
//			//int hgmaxbetgold = Integer.parseInt(oddUpdres.get("maxbet").replace(",",""));
//			
//			
//			if(hgbetgold < hgminbetgold || hgbetgold > hgmaxbetgold) {
//				
//				return;
//			}
//			
//			int ps38minbetgold = (int)Double.parseDouble(isnoddUpdres.get("minbet"));
//			int ps38maxbetgold = (int)Double.parseDouble(isnoddUpdres.get("maxbet"));
//			
//			if(isnbetgold < ps38minbetgold || isnbetgold > ps38maxbetgold) {
//				
//				return;
//			}
//			
//			
//			
//			//sleep
//			
//			int refreshdelaybettime = SpecialServer.mainWnd.getrefreshdelaybettime();
//			
//			if(refreshdelaybettime > 0 ) {
//				Thread.sleep(refreshdelaybettime * 1000);
//			}
//			
//			
//			oddUpdres.put("wtypestr", wtypestr);
//			oddUpdres.put("typestr", typestr);
//			oddUpdres.put("strong", strongstr);
//			oddUpdres.put("gid", gidstr);
//
//			Map<String,String> res = SpecialServer.betCtrMng.hgdobet(oddUpdres, hgbetgold);
//
//			if(res == null) {
//				System.out.println("auto bet: 皇冠账号尚未登录");
//				
//				System.out.println(dfSec.format(System.currentTimeMillis())  + ": 皇冠账号尚未登录,投注返回null:" + bad.toString());
//				bad.hgbetres = "账号掉线";
//				SpecialServer.betCtrMng.updateBetLogData(bad);
//				
//				//messagelb.setForeground(new Color(255,0,0));
//			}else {
//				
//				if(res.get("status").equals("1") || res.get("status").equals("0")) {
//					
//
//					
//					bad.league = isnbetgame.hgevent.leagueName;
//					bad.teams = isnbetgame.hgevent.homeTeam + "-vs-" + isnbetgame.hgevent.awayTeam;
//					bad.time = isnbetgame.hgevent.eventTime;
//					
//					
//					
//					
//					bad.hgeventid = isnbetgame.hgevent.eventId;
//					
//					bad.bettype = bettype;
//					
//					bad.hgbettype = res.get("betteam") + "@ " + res.get("betratio");
//					bad.betpankou = res.get("betpankou");
//					
//					if(Math.abs(Double.parseDouble(res.get("betpankou")) - Double.parseDouble(isnbetpankou)) > 0.01) {
//						Common.logOut("hg已投注,但投注盘口与isnbetpankou不一致，错误");
//					}
//					
//					bad.hgbettime = bad.hgbettime = Long.toString(System.currentTimeMillis());
//					
//					bad.hgbetres = res.get("status");
//					
//					bad.ticketid = res.get("ticketid");
//					bad.gid = gidstr;
//					bad.hgbetgold = Integer.toString(hgbetgold);
//					
//					
//					
//					
//					
//					double bethgratio = Double.parseDouble(res.get("betratio"));
//					if(bethgratio < 0) {
//						bethgratio = 2.0 + bethgratio;
//					}
//					
//					
//					bad.mergeratio = String.format("%.3f", bethgratio + isnratio1);
//					
//
//					
//					//bad.mergeratio = String.format("%.3f", hgratio + ps38ratio);
//					
//					//bet isn
//					//String homeTeam, String awayTeam, String updown, String bettype, int gold, Double pankouarg,double ratio
//					Map<String, String> rval = SpecialServer.betCtrMng.isndobet(isnbetgamearg.isnevent.homeTeam,isnbetgamearg.isnevent.awayTeam,isnupdown,bettype, (int)isnbetgold, Double.parseDouble(isnbetpankou),0.0);
//					
//					
//					
//					bad.ps38eventid =  isnoddUpdres.get("marketSelectionId");
//					
//					if(rval.containsKey("rebet")) {
//						bad.ps38rebetflag = "1";
//					}else {
//						bad.ps38rebetflag = "0";
//					}
//					
//					
//					if(rval.get("status").equals("1")) {
//
//						bad.wagerId = rval.get("wagerId");
//						bad.ps38betres = "1";
//						//bad.ps38bettime = rval.get("bettime");
//						bad.ps38bettype = isnTeamlbstr + rval.get("ratio");
//						bad.ps38betgold = rval.get("stake");
//						
//						double betps38ratio = Double.parseDouble(rval.get("ratio"));
//						if(betps38ratio< 0) {
//							betps38ratio = 2.0 + betps38ratio;
//						}
//						
//						bad.mergeratio = String.format("%.3f", bethgratio + betps38ratio);
//						
//						
//						if(res.get("status").equals("0")) {
//							System.out.println("皇冠投注待确认, ps38投注成功");
//						}else {
//							System.out.println("皇冠投注成功, ps38投注成功");
//						}
//						
//						
//						
//						
//						
//						
//						
//					}else if(rval.get("status").equals("0")){
//						
//						bad.wagerId = rval.get("wagerId");
//						bad.ps38betres = "0";
//						//bad.ps38bettime = rval.get("bettime");
//						bad.ps38bettype = isnTeamlbstr + rval.get("ratio");
//						bad.ps38betgold = Integer.toString((int)isnbetgold);
//						
//						double betps38ratio = Double.parseDouble(rval.get("ratio"));
//						if(betps38ratio< 0) {
//							betps38ratio = 2.0 + betps38ratio;
//						}
//						
//						bad.mergeratio = String.format("%.3f", bethgratio + betps38ratio);
//						
//						
//						if(res.get("status").equals("0")) {
//							System.out.println("皇冠投注待确认, ps38投注待确认");
//						}else {
//							System.out.println("皇冠投注成功, ps38投注待确认");
//						}
//						
//						
//						
//					
//						
//					}else {
//						
//						if(res.get("status").equals("0")) {
//							System.out.println("皇冠投注待确认, ps38投注失败");
//						}else {
//							System.out.println("皇冠投注成功, ps38投注失败");
//						}
//
//						
//					}
//					
//					
//					
//					
//					SpecialServer.betCtrMng.updateBetAdyData(bad);
//					SpecialServer.betCtrMng.updateBetLogData(bad);
//					
//					//发出声音
//		    		if(SoundThread.inPlay == false){    			
//						SoundThread st = new SoundThread();
//						SoundThread.status = 0;
//						st.start();
//					}
//					
//				}else{
//					//System.out.println("皇冠投注失败");
//					//发出声音
//					
//					bad.hgbetres = res.get("status");
//					
//					SpecialServer.betCtrMng.updateBetLogData(bad);
//		    		if(SoundThread.inPlay == false){    			
//						SoundThread st = new SoundThread();
//						SoundThread.status = 1;
//						st.start();
//					}
//					
//				}
//				
//				
//				
//			}
//			
//			
//			
//		}catch(Exception e) {
//			
//			e.printStackTrace();
//			
//		}
	}

	
	private boolean isInRatioRange(double hgodd, double ps38odd) {
		
		double sideMinodd = DecreaseRatioClient.mainWnd.getsideMinodd();
		double sumMinodd = DecreaseRatioClient.mainWnd.getsumMinodd();
		
		double sideMaxodd = DecreaseRatioClient.mainWnd.getsideMaxodd();
		double sumMaxodd = DecreaseRatioClient.mainWnd.getsumMaxodd();
		
		DecimalFormat df = new DecimalFormat("#.000");
		
		if(hgodd < 0) {
			hgodd = Double.parseDouble(df.format(2.0 + hgodd));
		}

		if(ps38odd < 0.0) {
			ps38odd = Double.parseDouble(df.format(2.0 + ps38odd));
		}
		
		if(hgodd + ps38odd < DecreaseRatioClient.mainWnd.getbetodd()) {
			return false;
		}
		
		
		double betodd = DecreaseRatioClient.mainWnd.getbetodd();
		
		if(hgodd >= sideMinodd && ps38odd >= sideMinodd && (hgodd + ps38odd) >= betodd && hgodd <= sideMaxodd && ps38odd <= sideMaxodd && (hgodd+ps38odd) <= sumMaxodd) {
			return true;
		}
		
		return false;
	}
	
}
